1. Field of the Invention
The present invention relates to design support for hardware such as a computer and electronic device, software, and a system including a combination of hardware and software.
2. Description of the Related Art
Recently, a system specification description language for describing a specification at system level without discrimination between hardware and software has been developed. With this development of the language, an environment for consistent specification description from a specification at system level to specified software or hardware specifications based on the same specification format has been improving. A rapid prototyping tool (Rapid or BetterState) is known, which provides a design environment in an upstream stage of system design while checking a system specification. See “Rapid-plus, White Paper”, http://www.e-sim.com/pdf/whtpaper.pdf as a reference for Rapid.
A characteristic feature of such a rapid prototyping tool is that system analysis and design can be seamlessly and quickly performed by using hierarchical state transition diagrams. From the viewpoint of specification design at system level at which a specification implementation method is not clear, this tool has a merit of allowing efficient design by hierarchically combining interrupt execution, sequential execution, and parallel execution.
In order to efficiently perform system design in an upstream stage of design, i.e., a stage where no architecture is determined, a technique of forming a specification at system level into parts and reusing them is indispensable. With a system specification language, the contents (operation) of a system can be described according to a formal specification description rule instead of a natural language. However, no mechanism has been provided, which searches the contents of a specification part on the basis of a specification description at system level so as to reuse it.
The techniques of forming software into parts in the conventional software engineering provide parts designed in detail, i.e., so-called parts at implementation level, and provide users with API (Application Programming Interface) function specifications of parts. The techniques of part formation in consideration of reuse can be used for only predetermined architectures. For example, JavaBeans in a program described in the Java language defines a specification for part formation in a Java execution environment, and hence parts can be reused only within the range of this defined part formation specification. See “Java programming JavaBeans—component framework”, Science, (Dec. 1, 1997), ISBN: 4781908624 as a reference for JavaBeans.
According to such conventional techniques associated with formation of software parts, descriptions and classification indexes (indexes) of parts are provided in advance in a natural language, and part search and reuse are realized by searching for parts. However, these technique are not configured to realize part search and reuse in consideration of the contents of software other than those in a natural language.
Demands have arisen for a mechanism for forming a specification at system level, which is created in a system specification description language in the above manner, into parts and reusing them.